#region Copyright Notice
// 
// 
// Copyright (c) 2009-2010 Anindya Chatterjee
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
//     http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// 
// 
// 
#endregion
using System.Xml.Serialization;

namespace GCore
{
    /// <summary>
    /// Author of hte service feed entry
    /// </summary>
    public class Author
    {
        /// <summary>
        /// Gets and sets the name of the author.
        /// </summary>
        [XmlElement("name")]
        public string Name { get; set; }

        /// <summary>
        /// Gets and sets the url associated with the author.
        /// </summary>
        [XmlElement("uri")]
        public string Uri { get; set; }
    }

    /// <summary>
    /// Contents of a service feed antry object
    /// </summary>
    public class Content
    {
        /// <summary>
        /// Gets and sets the content type.
        /// </summary>
        [XmlAttribute("type")]
        public string Type { get; set; }

        /// <summary>
        /// Gets and sets the body of the content.
        /// </summary>
        [XmlText]
        public string Description { get; set; }
    }

    /// <summary>
    /// Generators of a Google service feed entry
    /// </summary>
    public class Generator
    {
        /// <summary>
        /// Gets and sets the version of the feed entry.
        /// </summary>
        [XmlAttribute("version")]
        public decimal Version { get; set; }

        /// <summary>
        /// Gets and sets the uri associated with the <see cref="Generator"/> object.
        /// </summary>
        [XmlAttribute("uri")]
        public string Uri { get; set; }

        /// <summary>
        /// Gets and sets the text associated with the generator object.
        /// </summary>
        [XmlText]
        public string Text { get; set; }
    }

    /// <summary>
    /// The link associated with the service feed.
    /// </summary>
    public class Link
    {
        /// <summary>
        /// Gets and sets the rel of the link.
        /// </summary>
        [XmlAttribute("rel")]
        public string Rel { get; set; }

        /// <summary>
        /// Gets and sets the type of the link.
        /// </summary>
        [XmlAttribute("type")]
        public string Type { get; set; }

        /// <summary>
        /// Gets and sets the Href of the link.
        /// </summary>
        [XmlAttribute("href")]
        public string Href { get; set; }
    }
}